package com.javase;

public class HanoiTower {
    //汉诺塔问题
    public static void main(String[] args) {
        H h = new H();
        h.move(6,'A','B','C');
    }
}

class H{
    //创建方法
    //num表示移动盘个数，a,b,c表示a塔b塔c塔
    public void move(int num,char a,char b,char c){
        //如果num=1，（只有一个盘）
        if (num == 1){
            System.out.println(a +"->"+ c);
        }else {
            //如果有多个盘，可以看做最底盘和上面所有盘
            //（1）先移动上层所有盘到b，借助c
            move(num - 1,a,c,b);
            //(2)把下面的盘移动到C
            System.out.println(a+"->"+c);
            //（3）再把b塔的所有盘移动到C，借助A
            move(num-1,b,a,c);
        }

    }
}